
PVector ultimo=new PVector(0,0);
float direccion=0.0;
int longitudPato=30;
int anchoPato=20;

Pato pato1;

void setup(){
  //size(displayWidth,displayHeight);
  size(400,500);
  pato1=new Pato(anchoPato,longitudPato);
}

void draw(){
  background(0);
  calcularDireccion();
  pato1.draw(direccion);
}

//Vuela detrás del mouse
void mouseDragged(){
  pato1.destino=new PVector(ultimo.x,ultimo.y);
}

//Calcula la dirección del movimiento basado en la última posición
void calcularDireccion(){
  PVector delta=new PVector(mouseX-ultimo.x,mouseY-ultimo.y);
  direccion = atan2(delta.y,delta.x);
  ultimo.x=mouseX-(cos(direccion)*longitudPato);
  ultimo.y=mouseY-(sin(direccion)*longitudPato);
}
